package com.xb.loan.cashier.biz.pay;


import com.xb.loan.cashier.biz.pay.bean.PaymentChargeOrder;

/**
 * 充值支付接口
 * 支付网管接口
 */
public interface IPaymentForCharge {
    
	/**
	 * 统一充值方法（通过支付类型判断调用哪个支付方法，1：web；2：wap；3：app）
	 * 
	 * @param paymentChargeOrder 充值信息
	 * @param tradeType 1：web；2：wap；3：app
	 * @return 通过分析交易类型，调用chargeByApp、chargeByWap、chargeByWeb
	 * @throws Exception
	 * 2016年6月7日 by lh.qiu
	 */
	public String charge(PaymentChargeOrder paymentChargeOrder, int tradeType) throws Exception;
	
	/**
	 * 通过手机App进行充值，提交到第三方的充值订单信息
	 * 
	 * @param paymentChargeOrder 充值信息
	 * @return 跳转网关的url串
	 * @throws Exception
	 * 2016年6月3日 by lh.qiu
	 */
    public String chargeByApp(PaymentChargeOrder paymentChargeOrder) throws Exception;
    
    /**
     * 通过手机网页进行充值，提交到第三方的充值订单信息
     * 
     * @param paymentChargeOrder 充值信息
     * @return 跳转网关的url串
     * @throws Exception
     * 2016年6月3日 by lh.qiu
     */
    public String chargeByWap(PaymentChargeOrder paymentChargeOrder) throws Exception;
    
    /**
     * 通过网页（电脑网页）进行充值，提交到第三方的充值订单信息
     * 
     * @param paymentChargeOrder 充值信息
     * @return 跳转网关的url串
     * @throws Exception
     * 2016年6月3日 by lh.qiu
     */
    public String chargeByWeb(PaymentChargeOrder paymentChargeOrder) throws Exception;
    
}
